package com.yb.framework.neo4j.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public interface Neo4jService {
	
	void createNode(String label, String nodeUuid, String nodeName);
	
	void createTemplateNode(String label, String nodeUuid, String nodeName, String parentNodeUuid, String... shapeNodeUuids);
	
	void createThingNode(String label, String nodeUuid, String nodeName, String tempalteNodeUuid, String... shapeNodeUuids);
	
	void createParamNode(String label, String nodeUuid, String nodeName, String relationLabel, String relationUuid);
	
	void updateNode(String label, String nodeUuid, String nodeName);
	
	void updateNode(String label, String nodeUuid, String nodeName, String tempalteNodeUuid, String... shapeNodeUuids);
	
	void deleteNode(String label, String nodeUuid);
	
	void deleteLabel(String label);
	
	JSONObject getNode(String label, String nodeUuid);
	
	JSONObject getAllNodes(String label, String nodeUuid);
	
	JSONObject getChildNodes(String label, String nodeUuid);
	
	JSONObject getAllChildNodes(String label, String nodeUuid);
	
	JSONArray getParamNames(String label, String nodeUuid);
	
	JSONArray getAllParamNames(String label, String nodeUuid);
}
